/*
 ============================================================================
 文件名    : ScoreCounter.h
 描述     : CScoreCounter基类声明.
 ============================================================================
 */
#ifndef SCORECOUNTER_H_
#define SCORECOUNTER_H_

// 引用
#include <e32base.h>

#include "GameObserver.h"

//类声明
/*
 * CScoreCounter 类
 * 声明了计分器类
 * 观察游戏引擎，根据游戏事件来给计算用户的得分
 */
class CScoreCounter : public CBase, public MGameObserver
    {

public:
    static CScoreCounter* NewL();
    ~CScoreCounter();

public:
    TInt GetScore();
    // 设置分数
    void SetScore( TInt aScore );
    // 增加分数
    TInt IncScore( TInt aDelta = 1 );
    
public: // from MGameObserver
    void GameChanged( CEngine* aGame );
    void GameOver( CEngine* aGame );
    void GamePaused( CEngine* aGame );
    void BallHitsLine( CEngine* aGame );
    
private:
    CScoreCounter();
    void ConstructL();
    
private:
    // 当前得分
    TInt iScore;
    
    };

#endif /*SCORECOUNTER_H_*/
//文件结束
